#include<iostream>
#include<vector>
#include<set>
using namespace std;

class Solution {
public:
	// 两个数组的交集
	// 结果中的每个元素一定是 唯一 的
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        vector<int> ret;
		// 去重
        set<int> s1 = {nums1.begin(), nums1.end()};
        set<int> s2 = {nums2.begin(), nums2.end()};

        auto p1 = s1.begin();
        auto p2 = s2.begin();
        while (p1 != s1.end() && p2 != s2.end()) {
            if (*p1 < *p2)
                p1++;
            else if (*p1 > *p2)
                p2++;
            else {
                ret.push_back(*p1);
                p1++;
                p2++;
            }
        }
        return ret;
    }
};

int main()
{

	return 0;
}
